#!/bin/sh

# /etc/rc.initial
# part of pfSense by Scott Ullrich
# Copyright (C) 2004-2011 Scott Ullrich, All rights reserved.
# originally based on m0n0wall (http://neon1.net/m0n0wall)
# Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
# All rights reserved.

<<<<<<< HEAD
=======
product=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4`


# If recovery console shell option has been specified
if [ -f "/tmp/donotbootup" ]; then
	/usr/bin/env prompt="%B[%n@%m]%b%/(%h)||RecoveryConsoleShell: " /bin/tcsh
	rm "/tmp/donotbootup"
	echo "Rebooting in 5 seconds... CTRL-C to abort..."
	sleep 5
	/etc/rc.reboot
	exit
fi

if [ -e /usr/local/etc/rc.d/dev_bootstrap.sh ]; then
	echo
	echo "A developer bootstrap is most likely in progress."
	echo "This operation bootstraps all developer files from"
	echo "$product and also FreeBSD.org and builds a ISO"
	echo "to verify the environment is sane."
	echo
	echo "During this process, /usr/src is automatically downloaded"
	echo "and many supporting files are built, installed, etc."
	echo
	echo -n "Would you like to tail the progress (y/n) [n]? "
	read ANSWER
	if [ "$ANSWER" = "y" ]; then
		echo
		echo "Tailing developer bootstrap process."
		echo
		echo "Press CTRL-C to abort."
		echo
		echo "Note, this tailing process will exit once the operation is completed."
		echo
		tail -f /tmp/bootup_messages
	fi
fi

>>>>>>> FETCH_HEAD
# make sure the user can't kill us by pressing Ctrl-C,
# ctrl-z, etc.
#trap : 2
#trap : 3
#trap : 4

# If recovery console shell option has been specified
if [ -f "/tmp/donotbootup" ]; then
	/usr/bin/env prompt="%B[%n@%m]%b%/(%h)||RecoveryConsoleShell: " /bin/tcsh
	rm "/tmp/donotbootup"
	echo "Rebooting in 5 seconds... CTRL-C to abort..."
	sleep 5
	/etc/rc.reboot
	exit
fi

if [ -f /etc/rc.local ]; then
	RCLOCALPWD=`ps awux | grep rc.local | grep -v grep | awk '{ print $2 }'`
	if [ "$RCLOCALPWD" = "" ]; then
		echo ">>> Launching rc.local in background..."
		sh /etc/rc.local &
		sleep 1
		sh /etc/rc.local.running &
	else
		if [ -f /etc/rc.local.running ]; then
			echo ">>> Launching rc.local.running in background..."
			sh /etc/rc.local.running &
		fi
	fi
fi

CONFIG="/cf/conf/config.xml"
WORD="https"

# Set our operating platform
PLATFORM=`cat /etc/platform`

if [ "$PLATFORM" = "jail" ]; then
	exit
fi

# endless loop
while : ; do

if [ -f /tmp/ttybug ]; then
	rm /tmp/ttybug
	exit && exit && logout
fi

/etc/rc.banner

<<<<<<< HEAD
product=`grep product_name /etc/inc/globals.inc | cut -d'"' -f4`
hidebanner=`grep hidebanner /etc/inc/globals.inc | cut -d'"' -f4`

# Check to see if SSH is running.
if pgrep -q -a -F /var/run/sshd.pid sshd >/dev/null 2>&1; then
	sshd_option="14) Disable Secure Shell (sshd)";
else
	sshd_option="14) Enable Secure Shell (sshd)";
=======
# display a cheap menu
echo
echo
echo " ${product} console setup "
echo "***************************"
echo " 0)  Logout (SSH only)"
echo " 1)  Assign Interfaces"
echo " 2)  Set LAN IP address"
echo " 3)  Reset webConfigurator password"
echo " 4)  Reset to factory defaults"
echo " 5)  Reboot system"
echo " 6)  Halt system"
echo " 7)  Ping host"
echo " 8)  Shell"
echo " 9)  PFtop"
echo "10)  Filter Logs"
echo "11)  Restart webConfigurator"
echo "12)  ${product} Developer Shell"
echo "13)  Upgrade from console"
SSHD=`netstat -an | grep "*.22" | wc -l`
if [ "$SSHD" -gt 0 ]; then
	echo "14)  Disable Secure Shell (sshd)";
else
	echo "14)  Enable Secure Shell (sshd)";
>>>>>>> FETCH_HEAD
fi

for i in /var/db/pfi/capable_*; do
    if [ -f $i -a ! -L /cf/conf ]; then
	option98="98) Move configuration file to removable device"
	break
    fi
done

if [ "$PLATFORM" = "cdrom" ]; then
<<<<<<< HEAD
    option99="99) Install ${product} to a hard drive, etc."
fi

# display a cheap menu
echo ""
echo " 0) Logout (SSH only)                  9) pfTop"
echo " 1) Assign Interfaces                 10) Filter Logs"
echo " 2) Set interface(s) IP address       11) Restart webConfigurator"
echo " 3) Reset webConfigurator password    12) ${product} Developer Shell"
echo " 4) Reset to factory defaults         13) Upgrade from console"
echo " 5) Reboot system                     ${sshd_option}"
echo " 6) Halt system                       15) Restore recent configuration"
echo " 7) Ping host                         16) Restart PHP-FPM"
echo " 8) Shell"
echo " ${option98} "

if [ "${option99}" != "" ]; then
	/bin/echo "${option99}"
=======
    echo "99)  Install ${product} to a hard drive/memory drive, etc."
    echo
>>>>>>> FETCH_HEAD
fi

echo
read -p "Enter an option: " opmode
echo

# see what the user has chosen
case ${opmode} in
0)
        exit && exit && logout
        ;;
1)
        /etc/rc.initial.setports ; sleep 10 ; killall login ; exit
        ;;
2)
        /etc/rc.initial.setlanip ; sleep 10 ; killall login ; exit
        ;;
3)
        /etc/rc.initial.password
        ;;
4)
        /etc/rc.initial.defaults ; sleep 10 ; killall login ; exit
        ;;
5)
        /etc/rc.initial.reboot
        ;;
6)
        /etc/rc.initial.halt
        ;;
7)
        /etc/rc.initial.ping
        ;;
8)
        /bin/tcsh
        ;;
9)
        /usr/local/sbin/pftop
        ;;
10)
<<<<<<< HEAD
		/usr/local/sbin/clog -f /var/log/filter.log
		;;
11 | 111)
=======
		/usr/sbin/tcpdump -n -e -ttt -i pflog0
		;;
11)
>>>>>>> FETCH_HEAD
		/etc/rc.restart_webgui
		;;
12)
		/usr/local/sbin/pfSsh.php
		;;
13) 
		php -f /etc/rc.initial.firmware_update
		;;
14) 
		php -f /etc/rc.initial.toggle_sshd
<<<<<<< HEAD
		;;	
15)
		/etc/rc.restore_config_backup
		;;
16)
		/etc/rc.php-fpm_restart
=======
		;;		
15)
		/etc/rc.banner
>>>>>>> FETCH_HEAD
		;;
98)
		if [ ! -f /tmp/config_moved ]; then
			/etc/rc.initial.store_config_to_removable_device
		fi
		;;
99)
		if [ -e /dev/ukbd0 ]; then
<<<<<<< HEAD
			env TERM=cons25 /scripts/lua_installer
		else
			/scripts/lua_installer
		fi
		;;
100)
    	if grep "$WORD" "$CONFIG"; then
			links "https://localhost"
    	else
			links "http://localhost"
    	fi
    	;;
"")
		kill $PPID ; exit
		;;
=======
		    env TERM=cons25 /scripts/lua_installer
		else
	            /scripts/lua_installer
		fi
		;;
100)
	    if grep "$WORD" "$CONFIG"
	    then
	    	links "https://localhost"
	    else
	    	links "http://localhost"
	    fi
	    ;;
"")
		killall login ; exit
	;;
>>>>>>> FETCH_HEAD
esac

done

